package com.cskaoyan.bean.wx_order;

import com.cskaoyan.bean.goods.Goods;
import com.cskaoyan.bean.mall.order.Order;
import com.cskaoyan.bean.wx_OrderGoods.OrderGoods;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@NoArgsConstructor
@AllArgsConstructor
@Data
public class WXDetailOrderVO {

    private List<?> expressInfo;
    private OrderInfoDTO orderInfo;
    private List<OrderGoods> orderGoods;
//    private Order orderInfo;
//    private List<Goods> orderGoods;

    @NoArgsConstructor
    @AllArgsConstructor
    @Data
    public static class OrderInfoDTO {
        private String consignee;
        private String address;
        private Date addTime;
        private String orderSn;
        private BigDecimal actualPrice;
        private String mobile;
        private String message;
        private String orderStatusText;
        private Integer aftersaleStatus;
        private BigDecimal goodsPrice;
        private BigDecimal couponPrice;
        private Integer id;
        private BigDecimal freightPrice;
        private HandleOptionDTO handleOption;

        @NoArgsConstructor
        @AllArgsConstructor
        @Data
        public static class HandleOptionDTO {
            private Boolean cancel;
            private Boolean delete;
            private Boolean pay;
            private Boolean comment;
            private Boolean confirm;
            private Boolean refund;
            private Boolean rebuy;
            private Boolean aftersale;
        }
    }

    @NoArgsConstructor
    @Data
    public static class OrderGoodsDTO {
        private Integer id;
        private Integer orderId;
        private Integer goodsId;
        private String goodsName;
        private String goodsSn;
        private Integer productId;
        private Integer number;
        private Integer price;
        private List<String> specifications;
        private String picUrl;
        private Integer comment;
        private String addTime;
        private String updateTime;
        private Boolean deleted;
    }
}
